As it is generally known, virtual machines are computer software emulations of hardware computer systems. Virtual machines are typically created by and run on a hypervisor or virtual machine monitor that may also be referred to as a virtualization platform, and that is referred to herein as a virtualization environment. The computer on which a virtualization environment executes may be referred to as a host computer. The virtualization environment manages execution of each virtual machine, and distributes virtualized hardware resources of the host computer (e.g. processor resources, memory resources, I/O interface resources, etc.) to each virtual machine.
Like the hardware computer systems that they emulate, virtual machines require data storage resources to support the programs that they execute. It is accordingly necessary to provision data storage resources to a virtual machine from a physical storage system, for example by assigning disk space of a remote storage server system to the virtual machine.
Performance data for storage resources that are used to support the execution of a virtual machine must be accurately monitored for numerous reasons. For example, the performance data for storage resources created for a virtual machine may be needed to determine whether specific performance levels for the virtual machine are being met, and/or to determine whether storage resource utilization limits for the virtual machine are being exceeded.